package com.Sinewecology.SendMessage;

import java.io.IOException;

import com.alibaba.fastjson.JSONException;
import com.entrogy.dao.MessageMapper;
import com.github.qcloudsms.httpclient.HTTPException;
import org.apache.http.ParseException;
import com.Sinewecology.EntropySMS.SMS;
import com.Sinewecology.EntropyWechat.WX_SendMessage;



public class SendMessageTask implements Runnable {
//    JSONObject jsonPack;
	int msgType;//1:SMS  2:Wechat;
	MobileMsgDataBean mMsg;
	WechatMsgDataBean wMsg;

	private MessageMapper messageMapper;

    public SendMessageTask(MobileMsgDataBean msg) {
    	msgType = 1;
    	mMsg = msg;
    }
    
    public SendMessageTask(WechatMsgDataBean msg) {
    	msgType = 2;
    	wMsg = msg;
    }

	public SendMessageTask(MobileMsgDataBean msg, MessageMapper messageMapper) {
		msgType = 1;
		mMsg = msg;
		this.messageMapper = messageMapper;
	}

	public SendMessageTask(WechatMsgDataBean msg, MessageMapper messageMapper) {
		msgType = 2;
		wMsg = msg;
		this.messageMapper = messageMapper;
	}

	@Override
    public void run() {
    	if(msgType == 1)
			try {
				String sendResult = SMS.SendSmsToUser(mMsg);
				if (messageMapper != null && "OK".equals(sendResult)){
					// 更新该条已发送成功的记录
					messageMapper.updateMessageRecord(mMsg.getMessageRecordId(), 1);
				}
			} catch (JSONException | HTTPException | IOException e) {
				e.printStackTrace();
			}
		else if(msgType == 2)
			try {
				String sendResult = WX_SendMessage.SendMsg(wMsg);
				if (messageMapper != null && ("ok").equals(sendResult)){
					// 更新该条已发送成功的记录
					messageMapper.updateMessageRecord(wMsg.getMessageRecordId(), 1);
				}
			} catch (ParseException | IOException e) {
				e.printStackTrace();
			}
    		
    }

}
